Transform calculation device

ABSTRACT

The present invention relates to a discrete transform calculation device (FFTP). The device has control means (CNTRL) which configure first and second memories (RAM 1  and RAM 2 ) according to the number of transforms used during a first processing. The device applies in particular to a demodulator which allows management of several Fourier transforms in parallel.

The present invention relates to a device for calculating discretetransforms having a first memory for storing samples and a second memoryfor recording the intermediate calculation results. The invention alsorelates to a calculation method adapted to said device.

The invention finds a particular application notably in channel decodingduring terrestrial signal transmissions.

The document “Efficient FFT and Equalizer Implementation for OFDMReceivers” published by IEEE Transactions on Consumer Electronics, 4Nov. 1999, in Vol 45 N° 4, pages 1104-1107, describes a device forcalculating discrete transforms, here Fourier transforms in an OFDM(Orthogonal Frequency Division Multiplexing) receiver. When saidreceiver receives a signal, it receives it in the form of packets ofsamples in the first memory, the packets being of variable sizeaccording to the standard used. In the DVB-T (Digital Video BroadcastingTerrestrial) standard, published by the ETSI (EuropeanTelecommunications Standard Institute), which uses OFDM receivers, thepacket sizes are 2 kilobytes or 8 kilobytes. The receiver includes acalculation device for calculating a Fourier transform on the samplesreceived in a packet. Intermediate results are recorded in the secondmemory. The device awaits the reception of the set of samples of apacket in order to terminate the Fourier transform calculation with theintermediate results, and to once again commence calculation on samplesin a new packet.

This state of the art makes it possible to calculate only one Fouriertransform at a time.

Thus one technical problem to be resolved by the present invention is topropose a discrete transform calculation device having a first memoryfor storing samples and a second memory for recording intermediatecalculation results, as well as an associated calculation method whichmake it possible to calculate several discrete transforms in parallel.

One solution to the technical problem posed is characterized, accordingto a first object of the invention, in that the calculation device hascontrol means able to configure the first and second memories accordingto a number of discrete transforms used during a first processing, thetransforms having variable sizes, where applicable.

According to a second object of the present invention, this solution ischaracterized in that the calculation method includes a step ofconfiguring the first and second memories according to a number ofdiscrete transforms used during a first processing, the transformshaving, where applicable, variable sizes.

Thus, as will be seen in detail below, the configuration makes itpossible, by virtue of a division of the memories into several memoryareas according to the number of discrete transforms used during a firstprocessing, to be able to manage several transform calculations inparallel.

The invention will be further described with reference to examples ofembodiments shown in the drawings to which, however, the invention isnot restricted:

FIG. 1 is a diagram representing a first processing effected by thecalculation device according to the invention,

FIG. 2 illustrates schematically an architecture of the calculationdevice according to the invention,

FIG. 3 illustrates a flow chart showing calculations made by thecalculation device of FIG. 2,

FIG. 4 depicts a calculation operation performed by the calculationdevice of FIG. 2,

FIG. 5 is a diagram depicting a second processing performed by thedevice according to the invention,

FIG. 6 a is a diagram depicting a first calculation method effectedduring the second processing by the calculation device of FIG. 2,

FIG. 6 b is a diagram depicting a second calculation method effectedduring the second processing by the calculation device of FIG. 2,

FIG. 7 is a diagram depicting a memory organization during the secondprocessing by the calculation device of FIG. 2.

The present disclosure of the invention relates to an example of adevice for calculating discrete transforms, here Fourier transforms, ina receiver used in the field of terrestrial television.

In the field of signal transmissions on a channel (not shown), inparticular in the field of terrestrial television, a transmitter and areceiver are used. The transmitter effects a signal modulationtransforming a digital signal into an analog signal and sends saidsignal through the channel. At the output from the channel, the signalis received by the receiver, which effects a signal demodulationconverting the analog signal into a digital signal. At the time oftransmission, an error correcting coding is performed so thatsubsequently, at the time of reception, it makes it possible to correcterrors introduced by interference on said channel.

In the case of the DVB-T standard, various techniques are used such asthe OFDM technique in Europe during a first demodulation processing.This technique uses fast Fourier transform calculations. There areseveral types of fast Fourier transform. A direct Fourier transform FFTand an inverse Fourier transform IFFT.

The abbreviation FFT will be used in the remainder of the description todesign the term “direct fast Fourier transform” and IFFT for designatingthe term “inverse fast Fourier transform”. Naturally the invention isnot limited to these types of Fourier transforms.

In this technique, during a demodulation processing, the two types oftransforms are used. A direct transform FFT is used for demodulationstrictly speaking and an inverse transform IFFT is used notably forsynchronization with the transmitter in time and frequency. It should benoted that the direct transform FFT corresponds to an inverse transformof a transform IFFT used during the modulation performed in thetransmitter, the latter transform IFFT then being the only IFFT usedduring the modulation, for example OFDM.

FIG. 1 is a diagram representing a processing of Fourier transforms inthe OFDM technique according to the DVB-T standard.

During reception of a digital signal, the receiver receives it in theform of packets Pj (j>0) of samples x_(i) (i≧0). The samples arereceived, for an OFDM receiver to the DVB-T standard, in packets Pj ofsize 2 kilobytes or 8 kilobytes. The packets Pj are demodulated by thereceiver. The demodulation uses two transforms, an FFT and an IFFT, asindicated in FIG. 1. However, several calculations of these twotransforms used FFT and IFFT are effected. Care should be taken to makea distinction between the terms “used” and “calculated” in thedescription. The calculation of an FFT is effected on all the samplesx_(i) of a packet Pj, whereas the calculation of an IFFT is effected onresult samples X_(i) issuing from several FFT calculations, for exampleby taking 1 result sample out of 4. The calculation of an IFFT is theneffected at a frequency lower than an FFT calculation.

The demodulation is effected by means of a Fourier transform calculationdevice FFTP. The calculation device FFTP is depicted in FIG. 2. It has afirst memory RAM1, a calculation unit UNIT, a second memory RAM2, andcontrol means CNTRL. It also has a table TC comprising Fourier transformcoefficients. The first and second memories RAM1 and RAM2 are preferablyvolatile and rewritable.

In an initialization step INIT, the control means CNTRL configure. thefirst RAM1 and the second RAM2 memories in order to receive samplesx_(i) of packets and intermediate Fourier transform calculation results,respectively.

The configuration is carried out according to the number of Fouriertransforms used during a demodulation processing, the transforms having,where applicable, a variable size, here 2 kilobytes or 8 kilobytes. Inthe example disclosed, two transforms are used. Consequently the firstand second memories RAM1, RAM2 are divided respectively into two memoryareas R11, R12 and R21, R22. The first memory area R11 of the firstmemory RAM1 stores samples x_(i) on which an FFT will be calculated,while its second memory area R12 stores result samples on which an IFFTwill be calculated. Preferentially, the first memory area R11 of thefirst memory R1 has a size equal to the maximum size of an FFT to becalculated, that is to say here 8 kilobytes (when there is no overlap aswill be seen in detail below). The first memory area R21 of the secondmemory RAM2 stores intermediate results of an FFT, while its secondmemory area R22 stores intermediate results of an IFFT. Naturally, wherea single transform is used, such a division into memory areas would notbe necessary. It should be noted that the size of the transforms in thereceiver is determined by the transmitter and according to receptionconditions. Thus this size may change. For example, in the case ofinterference on the channel giving rise to poor reception, a size of 2kilobytes could be changed to 8 kilobytes. However, in general, the sizeof a transform remains stable for a certain length of time.

During this same initialization step INIT, the control means CNTRLpreferentially determine the priorities for calculating one type oftransform compared with another type of transform and therefore as afunction of the type of transform used. Preferentially, an FFT haspriority over an IFFT.

It will be noted that the table TC includes the coefficients W necessaryfor the calculations of transforms used. The coefficients aresine/cosine values. The transforms have some of the coefficients incommon. An IFFT has as much need of coefficients as the correspondingFFT of the same size. For example, an FFT transform of size 8 kilobytesuses all the coefficients, an FFT transform of size 2 kilobytes uses onequarter of the coefficients and an IFFT transform of 8 kilobytes usesall the coefficients in an order other than that of the 8 kilobyte FFTetc. Thus, in the example disclosed, the table TC of coefficientspreferentially includes the coefficients of the transform with thelargest size, that is to say, here, 8 kilobytes. The coefficients of thetransforms being known, the table TC of coefficients is preferentiallyincluded in a third non-volatile non-rewritable ROM memory (not shown).It should be noted that, in another embodiment it is possible to useonly the first quarter of the third ROM memory and to use reversals ofsigns known to one of ordinary skill in the art in order to emulate theother three quarters.

Naturally, in another embodiment, it would be possible to configure thetable of coefficients TC during the initialization step by means of thecontrol means CNTRL. In this case, the table would be included in athird non-volatile rewritable EEPROM memory.

An FFT is calculated according to a flow diagram. A flow diagramincludes coefficients W_(N) ^(n), N≧2, n≧0. Final results Xi arecalculated from samples x_(i) and coefficients W_(N) ^(n). Saidcoefficients W_(N) ^(n) are given by the table of coefficients TC. Thecalculation of an IFFT is based on the same principle.

To perform said calculations, various algorithms known to one ofordinary skill in the art can be used, such as the Cooley-Tukeyalgorithm, also referred to as the reduction to base 2 or radix 2algorithm. This algorithm requires a number of samples x_(i) which are apower of 2. According to the algorithm, the radix of the algorithm andthe size of a packet, a concept of layer C is defined. For example, fora packet with a size of 8 kilobytes and a radix 2, this gives 8192=2¹³,which makes 13 radix 2 layers. For a radix 4, there are 6 radix 4 layersand 1 radix 2 layer. FIG. 3 depicts a flow diagram of a first embodimentof an FFT calculation according to the Cooley-Tukey algorithm for 8samples x₀ to x₇.

A layer C corresponds to a column in said diagram. This gives thefollowing equation (1).

$\begin{matrix}{{{{X0} = {x_{0} + {x_{4}W_{2}^{0}} + {W_{4}^{0}\left( {x_{2} + {x_{6}W_{2}^{0}}} \right)} + {W_{8}^{0}\left\lbrack {x_{1} + {x_{5}W_{2}^{0}} + {W_{4}^{0}\left( {x_{3} + {x_{7}W_{2}^{0}}} \right)}} \right\rbrack}}},{{X1} = {x_{0} - {x_{4}W_{2}^{0}} + {W_{4}^{1}\left( {x_{2} - {x_{6}W_{2}^{0}}} \right)} + {W_{8}^{1}\left\lbrack {x_{1} - {x_{5}W_{2}^{0}} + {W_{4}^{1}\left( {x_{3} - {x_{7}W_{2}^{0}}} \right)}} \right\rbrack}}},\mspace{104mu}{{X2} = {x_{0} + {x_{4}W_{2}^{0}} - {W_{4}^{0}\left( {x_{2} + {x_{6}W_{2}^{0}}} \right)} + {W_{8}^{2}\left\lbrack {x_{1} + {x_{5}W_{2}^{0}} - {W_{4}^{0}\left( {x_{3} + {x_{7}W_{2}^{0}}} \right)}} \right\rbrack}}},\mspace{104mu}{{X3} = {x_{0} - {x_{4}W_{2}^{0}} - {W_{4}^{1}\left( {x_{2} - {x_{6}W_{2}^{0}}} \right)} + {W_{8}^{3}\left\lbrack {x_{1} - {x_{5}W_{2}^{0}} - {W_{4}^{1}\left( {x_{3} - {x_{7}W_{2}^{0}}} \right)}} \right\rbrack}}},\mspace{104mu}{{X4} = {x_{0} + {x_{4}W_{2}^{0}} + {W_{4}^{0}\left( {x_{2} + {x_{6}W_{2}^{0}}} \right)} - {W_{8}^{0}\left\lbrack {x_{1} + {x_{5}W_{2}^{0}} + {W_{4}^{0}\left( {x_{3} + {x_{7}W_{2}^{0}}} \right)}} \right\rbrack}}},\mspace{104mu}{{X5} = {x_{0} - {x_{4}W_{2}^{0}} + {W_{4}^{1}\left( {x_{2} - {x_{6}W_{2}^{0}}} \right)} - {W_{8}^{1}\left\lbrack {x_{1} - {x_{5}W_{2}^{0}} + {W_{4}^{1}\left( {x_{3} - {x_{7}W_{2}^{0}}} \right)}} \right\rbrack}}},\mspace{104mu}{{X6} = {x_{0} + {x_{4}W_{2}^{0}} - {W_{4}^{0}\left( {x_{2} + {x_{6}W_{2}^{0}}} \right)} - {W_{8}^{2}\left\lbrack {x_{1} + {x_{5}W_{2}^{0}} - {W_{4}^{0}\left( {x_{3} + {x_{7}W_{2}^{0}}} \right)}} \right\rbrack}}},\mspace{104mu}{{X7} = {x_{0} - {x_{4}W_{2}^{0}} - {W_{4}^{1}\left( {x_{2} - {x_{6}W_{2}^{0}}} \right)} - {{W_{8}^{3}\left\lbrack {x_{1} - {x_{5}W_{2}^{0}} - {W_{4}^{1}\left( {x_{3} - {x_{7}W_{2}^{0}}} \right)}} \right\rbrack}.}}}}\mspace{115mu}} & {{equation}\mspace{11mu}(1)}\end{matrix}$

Equation (1) is divided into so-called “butterfly” operations asindicated in FIG. 4. The first layer C1 is composed of “butterfly”operations using solely the coefficient W₂ ⁰ and the received samples x₀to x₇. Naturally, according to the radix, the algorithm used and thenumber of processors in the calculation unit UNIT, equation (1) may varyand consequently the composition of a layer may vary.

When the calculation device FFTP receives packets Pj of samples x_(i),it will calculate an FFT or an IFFT. The samples are received at afrequency Fx. The processing of the samples x_(i) takes place in thefollowing manner.

In a first step A), according to the example in FIG. 2, the calculationdevice FFT receives samples x₀, x₁, x₂, x₃, . . . , x_(i) coming from afirst packet P1 (not shown). The control means CNTRL receive,simultaneously with the reception of each sample x_(i), a packetidentification signal S_IDP_(i). Said signal indicates the packet Pj towhich the sample belongs as well as the size of said packet. This sizeis also referred to as the length of the FFT which will be calculated oneach packet Pj. In this example, the packet P1 has a size of 8kilobytes.

It should be noted that, at each reception of a sample, the controlmeans CNTRL determine, according to the transform used and to becalculated, addresses of the first memory RAM1 in which said samplesreceived will be stored. If an FFT is calculated, the addresses aretaken from the first memory area R11, otherwise from the second memoryarea R12. The samples x_(i) are stored in said memory addresses. Thesame applies to the addresses of the second memory RAM2, in which theintermediate results will be stored.

It should be noted that the control means CNTRL wait until thecalculation device FFTP has received all the samples of a packet Pjbefore commencing calculation of an FFT. Likewise, the control meansCNTRL wait until the calculation device FFTP has received all the resultsamples necessary for an IFFT calculation before commencing saidcalculation, whatever the radix of the algorithm used. In a second stepB), when the calculation device FFTP has received and stored all thesamples necessary for calculating a transform, the calculation unit UNITof said device executes said calculation. It should be noted that,initially, the first calculation effected is the calculation of an FFT.

The calculation unit UNIT is based on a clock frequency Fclk and hasseveral processors PROC. According to the performance which it is wishedto obtain for the calculation device FFTP, an appropriate number ofprocessors PROC will be chosen. For example, according to a firstnon-limitative embodiment, the calculation unit UNIT has a singleprocessor PROC, in order to manage simply the memories. According to asecond embodiment, the calculation unit UNIT has two processors PROC, ifit is wished for the calculations to be more rapid, and/or to slow downthe clock frequency Fclk and/or to have a greater calculation power.This is because said calculations will be distributed over the twoprocessors. The clock frequency Fclk is generally greater than thefrequency of the samples

-   Fx. In the case of a single processor PROC, if Fx=9.14 MHz,-   Fclk=30 MHz for each of the processors if there are 2 processors and-   Fclk=60 MHz if there is only one processor PROC. For an FFT of size    8 kilobytes and a radix 2 algorithm, 4096 “butterfly” operations are    performed for each layer, which makes 4096*13 “butterfly” operations    for 13 layers. Consequently 6.5 “butterfly” operations are performed    per sample, which makes 6.5*9.14=59.41 mega butterflies/sec to be    performed for an FFT transform calculation.

An FFT calculation, according for example to FIG. 3, is effected in thefollowing manner. The second embodiment is taken as an example, i.e.there are two processors PROC. At a first clock pulse Fclk, thecalculation unit UNIT calculates the first two “butterfly” operations ofthe first layer C1, using the first coefficient W₂ ⁰ and the pairs ofsamples (x₀,x₄) and (x₁,x₅). The 4 intermediate results obtained duringthe “butterfly” operations are saved in the first memory area R21 of thesecond memory RAM2.

At a second clock pulse Fclk, the calculation unit UNIT calculates thefollowing two “butterfly” operations of the first layer C1, using thefirst coefficient W₂ ⁰ and the pairs of samples (x₂,x₆) and (x₃,x₇) The4 intermediate results obtained during the “butterfly” operations aresaved in the first memory area R21 of the second memory RAM2.

At a third clock pulse Fclk, the calculation unit UNIT calculates thefirst two “butterfly” operations of the first layer C2, using the twocoefficients W₄ ⁰ and W₄ ¹ and the previous intermediate results in thesecond memory RAM2, and so on until the end of the calculations for allthe samples x_(i) of a packet P1. Final results X0 to X7 are obtained.Some of the final results are transmitted into the second memory areaR12 of the first memory R1 for calculating an IFFT.

Naturally, the control means CNTRL supply, according to the size andtype of the Fourier transform, the addresses of the appropriatecoefficients W_(N) ^(n) in the table of coefficients TC for each“butterfly” operation.

In a third step C), after having calculated an FFT, the calculation unitUNIT calculates an IFFT with the samples stored in the second memoryarea R12 of the first memory RAM1, i.e. with the final results issuingfrom several FFT calculations. The same type of calculations as thoseperformed for an FFT are executed.

However, in parallel to these calculations, the calculation device FFTPstill receives samples x_(i) of various packets Pj. Now, an FFTcalculation has priority compared with an IFFT calculation. Thus, whensaid calculation device FFTP has received all the samples x_(i) of thepacket Pj in order to effect a second FFT calculation, the control meansCNTRL wait until the unit UNIT ends the “butterfly” operation which itis in the process of performing on the current IFFT and then store acontext CTXT relating to said current calculation of the current IFFT,in order to be able to effect the second FFT calculation in priorityover said calculation of the IFFT. The context CTXT preferentiallyincludes the number of the layer to which the calculated “butterfly”operation belongs and the number of the calculated “butterfly” operationor the number of the following “butterfly” operation to be calculated.The control means CNTRL also store the addresses of the samples x_(i)and of the coefficients W_(N) ^(n) necessary for the “butterfly”operation of the context CTXT, addresses situated respectively in thesecond memory RAM2 and in the table of coefficients TC. A complete FFTcalculation is subsequently effected according to the second step B), inpriority over the calculation of the IFFT. At the end of saidcalculation, the calculation of the IFFT resumes.

It should be noted that, if the calculation device FFTP has not yetreceived all the samples x_(i) necessary for another FFT calculation,the calculation unit can effect a calculation of IFFT while waiting,when it has all the samples necessary for said calculation. Thus,according to the above, an IFFT calculation takes place solely when noFFT calculation is possible.

In a last step D), the calculation device FFTP sends the result samplesXi calculated to equalization units to compensate for any imperfectionsin the channel, and then subsequently to error correction units, wellknown to one ordinary skill in the art, using algorithms such asViterbi, Reed-Salomon etc algorithms. At the end of the chain of theseunits, there is a signal which is used by a source decoder (of the MPEGstyle for video) and sent to a television for example. It should benoted that, at the same time as these sendings, result samples Xi arealso transmitted in the second memory area R12 of the first memory R1for the IFFT calculations, as seen previously.

According to a variant embodiment, the device also has multiplexingmeans (not shown) for making an exchange of role for the memoriesbetween the first and second memories R1 and R2, the first memory R1becoming the memory comprising intermediate results and the secondmemory becoming the memory comprising input samples for calculating anew operation. This system (normally referred to in English as “swappingmemory”), known to one of ordinary skill in the art, affords a saving inmemory space.

Thus the device according to the invention has a first advantage, whichis to be able to effect several Fourier transform calculations, wherenecessary of different sizes, in parallel. The term parallel means thatsamples and result samples are received in parallel in various memoryareas, and that a switch is made from one transform calculation toanother calculation without necessarily waiting for the end of acomplete calculation.

A second advantage is the management of the calculations without wastingany time in using the processor or processors utilized.

A third advantage is a reduction in terms of means used for suchcalculations of transforms during a channel decoding. This is because,in the context of the invention, in order to effect several calculationsin parallel, a single calculation unit UNIT is used, a single controlCNTRL is used as well as a single sample reception memory RAM1. In theaforementioned state of the prior art, if it is wished to performseveral calculations in parallel, it is necessary to have severalcalculation units, several controllers and several memories. Thus, theinvention disclosed thus affords a saving in silicon surface used.

Naturally, the scope of the invention is in no way limited to theembodiment described and extends, for example, to other embodiments inwhich other algorithms are used.

Likewise, the invention can apply to demodulators other than those basedon the OFDM technique. For example, it can apply to the VSB (“VestigialSideband Modulation”) technique used in the United States in a frequencydomain.

This VSB technique also uses Fourier transforms when it is used in afrequency domain. It uses three of them as indicated in FIG. 5: two FFTs(FFT1 and FFT2) and one IFFT.

When a signal is received, the receiver receives a digital signal in theform of samples x. It receives them in packets of 1 kilobyte or 2kilobytes. The transforms are calculated from a packet of samples. Foreach sample, several operations are performed, which also use a certainnumber of adjacent samples. Thus, for the samples situated at the edgeof the packet of samples received, there are so-called “edge effect”problems during the execution of an operation. In order to mitigate thisdrawback, use is made of an overlapping technique. There are generallyoverlaps of half a packet of samples or overlaps of a quarter of apacket of samples between two packets of samples received consecutively,as shown in FIGS. 6 a and 6 b. In other words, one half or one quarterof the samples in a packet will serve for the calculation of thetransform of this packet and for the calculation of the transform of thefollowing packet. The transforms (FFT1, FFT2 and IFFT) used areindependent of each other, that is to say the overlappings take placesolely on calculations of transforms of the FFT1, or on calculations oftransforms of the FFT2, or on calculations of transforms of the IFFT.

For this purpose, the calculation device FFTP has three memory areasR11, R12 and R13 in the first memory RAM1 and three memory areas R21,R22 and R23 in the second memory RAM2, as shown by the example in FIG.7. On the one hand, the first memory area R11 of the first memory RAM1stores received samples (x1 a, x1 r, x1 b) necessary for calculating twotransforms (FFT1 a and FFT1 b) for the first FFT1 used, and on the otherhand the second memory area R12 of the first memory RAM1 stores thereceived result samples (X2 a, X2 r, X2 b) necessary for the calculationof two transforms (FFT2 a and FFT2 b) for the second FFT2 used, and,finally, the third memory area R13 of the first memory RAM1 storesreceived result samples (XI1, XIr, XI2) necessary for the calculation oftwo transforms (IFFTa and IFFTb) for the IFFT used. Thus, for an overlapof one half, the first calculation of FFT1, that is to say FFT1 a, usesthe samples x1 a and x1 r and the second calculation of FFT1, that is tosay FFT1 b, uses the samples x1 r and x1b. The second half of thesamples of the first calculation FFT1 a, that is to say x1r, is used forthe second calculation FFT1 b. The second half of the samples of thesecond calculation FFT1 b, that is to say x1b, will be used for a thirdcalculation of FFT1, that is to say FFT1 c (not shown), and so on.

For each of these storages, there is no duplication of the overlappingsamples xr. This has the advantage of reducing the memory used. If thesamples are received in packets of 2 kilobytes, the first, second andthird memory areas R11, R12 and R13 will be of 3 kilobytes for anoverlap of ½ and not of 4 kilobytes. In addition, this avoids managingtwo memory areas each of 2 kilobytes for each FFT used. The controlmeans CNTRL make it possible to know which are the samples which areoverlapping samples xr, according to the size of the transform used andaccording to the overlap used by virtue of the same principle based onan identification signal S_IDP seen before. This principle is known toone of ordinary skill in the art and will therefore not be disclosedhere. It should be noted that, in the VSB case, the transform which haspriority with respect to the others is the one which is in the processof making calculations and otherwise the one which first receives thesamples necessary for making said calculations.

Naturally, the invention is in no way limited to Fourier transforms, andmay extend to other discrete transforms such as a discrete cosinetransform DCT used, for example, in a video processing application.

Naturally, the invention is in no way limited to the field ofterrestrial television and may be extended to other fields, notably toall those which use a system utilizing discrete transforms.

Naturally, the verb “comprising” does not exclude the presence of otherelements or steps listed in a claim. The article “a” preceding anelement or step does not exclude the presence of a plurality of suchelements or steps.

1. A device for calculating discrete transforms, the device comprising:a processing circuit for calculating a first result using first samplesand using a first type of transform from a plural number of discretetransform types; and for calculating a second result using secondsamples that correspond to the first calculated result and using asecond type of transform of the plural number of discrete transformtypes; a first memory circuit for storing the first samples and forstoring the second samples; a second memory circuit independent from thefirst memory circuit for recording intermediate calculation results fromthe first type of transform and second type of transform, and a controlcircuit for configuring the first and second memories as a function of aplural number of discrete transforms used during a first processing ofthe first type of transform.
 2. A calculation device as claimed in claim1, wherein the control circuit is able to determine priorities forcalculation of the first type of transform with respect to the secondtype of transform and wherein the first type of transform is a Fouriertransform for demodulation and the second type of transform is aninverse Fourier transform.
 3. A calculation device as claimed in claim1, wherein the first type of transform is a Fourier transform fordemodulation and the second type of transform is an inverse Fouriertransform used to synchronize the calculation device to a transmissioncorresponding to the received samples.
 4. A discrete transformcalculation method comprising: in a first memory circuit, storingsamples used in calculating a result obtained from first type of aplural number of discrete transform types and storing samples thatcorrespond to the result from the first type of transform, and that areused in calculating a second type of the plural number of discretetransform types; in a second memory circuit independent from the firstmemory, recording intermediate calculation results subsequently used incalculating the first type of transform and the second type oftransform, and using a control circuit, configuring the first and secondmemories as a function of the plural number of discrete transforms usedduring a first processing of the first type of transform.
 5. Acalculation method as claimed in claim 4, further including asupplementary step of determining calculation priorities for the firsttype of transform with respect to the second type of transform andselecting between stored samples in response to determined priorities.6. A calculation method as claimed in claim 5, wherein the first typetransform is used in demodulation processing.
 7. A receiver forcalculating discrete transforms, comprising: a first memory circuit forstoring samples used in calculating a result obtained from a first typeof a plural number of discrete transform types and storing samples thatcorrespond to the result from the first type of transform, and that areused in calculating a second type of the plural number of discretetransform types; a second memory circuit independent from the firstmemory for recording intermediate calculation results subsequently usedin calculating the first type of transform and second type of transform,and a control circuit for configuring the first and second memories as afunction of the plural number of discrete transform types used during afirst processing of the first type of transform wherein the storedsamples correspond to a received analog signal.